package com.irdstudio.efp.console.service.dao;

import java.util.List;

import com.irdstudio.efp.console.service.domain.SPlsTlrInfo;
import com.irdstudio.efp.console.service.vo.SPlsTlrInfoVO;

/**
 * DAO Interface: 个贷系统柜员信息表
 * @author ligm
 * @date 2019-06-17 
 */
public interface SPlsTlrInfoDao {
	
	/**
	 * 新增数据 
     * @param inSPlsTlrInfoVo
	 * @return 
	 */
	public int insertSPlsTlrInfo(SPlsTlrInfo sPlsTlrInfo);

    /**
	 * 根据主键删除信息 
     * @param inSPlsTlrInfoVo
	 * @return 
	 */
	public int deleteByPk(SPlsTlrInfo sPlsTlrInfo);

    /**
	 * 根据主键更新信息 
     * @param inSPlsTlrInfoVo
	 * @return 
	 */    
	public int updateByPk(SPlsTlrInfo sPlsTlrInfo);

    /**
	 * 根据主键查询详情 
     * @param sPlsTlrInfo
	 * @return 
	 */
    public SPlsTlrInfo queryByPk(SPlsTlrInfo sPlsTlrInfo);

    /**
	 * 一级数据权限,默认查看当前用户对应的数据 
     * @param sPlsTlrInfo
	 * @return 
	 */
	public List<SPlsTlrInfo> queryAllByLevelOneByPage(SPlsTlrInfoVO sPlsTlrInfo);
	
    /**
	 * 二级数据权限,默认查看当前用户及所属机构对应的数据 
     * @param sPlsTlrInfo
	 * @return 
	 */
	public List<SPlsTlrInfo> queryAllByLevelTwoByPage(SPlsTlrInfoVO sPlsTlrInfo);
	
    /**
	 * 三级数据权限,默认查看当前用户所在机构及下属机构对应的数据 
     * @param sPlsTlrInfo
	 * @return 
	 */
	public List<SPlsTlrInfo> queryAllByLevelThreeByPage(SPlsTlrInfoVO sPlsTlrInfo);

    /**
	 * 四级数据权限,默认预留，便于后续自定义 
     * @param sPlsTlrInfo
	 * @return 
	 */
    public List<SPlsTlrInfo> queryAllByLevelFourByPage(SPlsTlrInfoVO sPlsTlrInfo);

    /**
	 * 五级数据权限,默认预留，便于后续自定义 
     * @param sPlsTlrInfo
	 * @return 
	 */
    public List<SPlsTlrInfo> queryAllByLevelFiveByPage(SPlsTlrInfoVO sPlsTlrInfo);

    /**
     * 批量插入或更新来自个贷系统的数据
     * @author zhoucs1
     * @param sPlsTlrInfoVOList
     * @return
     */
	public int batchInsertOrUpdate(List<SPlsTlrInfoVO> list);
}
